<html xmlns="http://www.w3.org/1999/xhtml">
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=844783
-->
<head>
  <bindings xmlns="http://www.mozilla.org/xbl">
    <binding id="testBinding">
      <implementation>
        <constructor>
          is(windowExpando, 42, "Expandos show up without explicit waiving");
          someFunction();
          ok(called, "Function called");
          go();
        </constructor>
      </implementation>
      <handlers>
        <handler event="testevent" action="is(boundExpando, 11, 'See expandos on |this|'); SimpleTest.finish();"/>
      </handlers>
    </binding>
  </bindings>
  <script type="application/javascript">
  <![CDATA[

  is = parent.is;
  ok = parent.ok;
  SimpleTest = parent.SimpleTest;
  window.windowExpando = 42;
  window.someFunction = function() { ok(true, "Called"); window.called = true; };

  function go() {
    var bound = document.getElementById('bound');
    bound.boundExpando = 11;
    bound.dispatchEvent(new CustomEvent('testevent'));
  }

  function setup() {
    // When the bindings are applied, the constructor will be invoked and the
    // test will continue.
    document.getElementById('bound').style.MozBinding = 'url(#testBinding)';
  }

  ]]>
</script>
</head>
<body onload="setup()">
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=844783">Mozilla Bug 844783</a>
<p id="display"></p>
<div id="content">
  <div id="bound">Bound element</div>
</div>
<pre id="test">
</pre>
</body>
</html>
